Mobile computing device power consumption and energy efficiency are influenced by the amount of processor activity, including periodic activity from applications and device drivers. Mobile computing devices can reduce their power consumption, and thus increase their battery life, by entering into a low-power state during periods of idle time between executing instructions for software activity. However, processor power management technologies can require a minimum amount of idle time to obtain a net power-savings benefit. If the mobile computing device is idle for only very short periods of time, the power that is required to enter and exit the low-power state can be greater than the power that is saved.
Mobile computing devices operate software and hardware timers to coordinate device activities. Such timers can be used to wake a mobile computing device from a low-power state to perform periodic activities such as checking email or updating a mobile computing device display. However, upon the expiration of a timer, there may not be much for a device to do. For example, there may be no new email messages for a device to send to a remote email server. Further, a mobile computing device may awaken only to perform operations that are not necessary, such as updating a display that is currently disabled.
A mobile computing device in communication with cloud-based service providers can operate keep-alive timers to ensure that the communication links between the device and the service providers are maintained. These keep-alive timers can also be operated and maintained by the service providers. Multiple keep-alive timers can be employed if a mobile computing device is operating multiple applications in communication with multiple service providers. As various keep-alive timers can be operated at different frequencies, or at similar frequencies but with offset expiration times, a mobile computing device can service multiple keep-alive timers with very little idle time between timer expirations.
Thus, there is a need for the improved coordination and selective operation of timer-related tasks to manage mobile computing device power consumption.